home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / sbin / lrm-manager < prev    next >
Text File  |  2008-10-15  |  3KB  |  98 lines

  1. #!/bin/sh
  2.  
  3. # Note that this script is not only /sbin/lrm-manager, but it also
  4. # ends up being the postinst for nic-restricted-modules.  Take care
  5. # when adding features to make sure they'll work in d-i's busybox
  6.  
  7. # If you wish to disable the link-on-boot feature for certain modules,
  8. # please see /etc/default/linux-restricted-modules-common for details.
  9.  
  10. set -e
  11.  
  12. KVER="$(uname -r)"
  13. DEPMOD=yes
  14.  
  15. while [ $# -gt 0 ]; do
  16.   case "$1" in
  17.     --kver=*)    KVER="${1#--kver=}"; shift ;;
  18.     --quick)    DEPMOD=no; shift ;;
  19.     --list)    LIST=yes; shift ;;
  20.     --help)    echo "Usage: $0 [ --quick ] [ --kver=KERNEL_VERSION ]"; exit 0 ;;
  21.     *)        shift ;;
  22.   esac
  23. done
  24.  
  25. if [ -f /etc/default/linux-restricted-modules-common ] && [ "$DEPMOD" = "no" ]; then
  26.   . /etc/default/linux-restricted-modules-common
  27. fi
  28.  
  29. # check if we have the kernel objects
  30.  
  31. if [ ! -d /lib/linux-restricted-modules/"$KVER" ]; then
  32.   exit 0
  33. fi
  34.  
  35. # last-good-boot, do nothing
  36. if grep -q last-good-boot /proc/cmdline; then
  37.   exit 0
  38. fi
  39.  
  40. # if tmpfs is already mounted, skip it.
  41. # NOTE that at this point in time we have no /proc or other fancy things to check
  42.  
  43. if [ ! -f /lib/modules/"$KVER"/volatile/.mounted ]; then
  44.   mkdir -p /lib/modules/"$KVER"/volatile/
  45.   mount -t tmpfs -o mode=0755 tmpfs /lib/modules/"$KVER"/volatile/
  46.   touch /lib/modules/"$KVER"/volatile/.mounted
  47. fi
  48.  
  49. cd /lib/linux-restricted-modules/"$KVER"
  50. for module in *; do
  51.   CURRENT_MODULE_DISABLED="false"
  52.   set -- $DISABLED_MODULES
  53.   while [ $# -gt 0 ]; do
  54.     case "$1" in
  55.       madwifi)
  56.         set -- $@ ath_hal ath_pci ath_rate_amrr ath_rate_minstrel \
  57.         ath_rate_onoe ath_rate_sample wlan wlan_acl \
  58.         wlan_ccmp wlan_scan_ap wlan_scan_sta wlan_tkip \
  59.         wlan_wep wlan_xauth
  60.         shift
  61.         ;;
  62.       ltm)
  63.         set -- $@ ltmodem ltserial
  64.         shift
  65.         ;;
  66.       *)
  67.         if [ "$1" = "$module" ]; then
  68.           CURRENT_MODULE_DISABLED="true"
  69.       rm -f /lib/modules/"$KVER"/volatile/$module.ko
  70.           if [ "$LIST" = "yes" ]; then
  71.             echo "$module"
  72.           fi
  73.           break
  74.         else
  75.           shift
  76.         fi
  77.         ;;
  78.     esac
  79.   done
  80.   if [ "$CURRENT_MODULE_DISABLED" = "false" ]; then
  81.     if type ld_static >/dev/null 2>&1; then
  82.       ld_static -d -r -o /lib/modules/"$KVER"/volatile/$module.ko $module/* || true
  83.     fi
  84.   fi
  85. done
  86.  
  87. if [ "$DEPMOD" = "yes" ]; then
  88.   if [ -f "/boot/System.map-$KVER" ]; then
  89.     depmod -a -q -F /boot/System.map-"$KVER" "$KVER"
  90.   elif type udpkg >/dev/null 2>&1; then
  91.     # Running in d-i
  92.     depmod -a -q
  93.   fi
  94.   update-initramfs -u -k $KVER
  95. fi
  96.  
  97. exit 0
  98.